This is a suite of sensitivity experiments testing the sensitivity of alpha, gamma and b1.
Experiment 23:
alpha = 8; gamma = 0.8; b1 = 4
/glade/u/home/jet/cases/g.e11.GIAF.T62_gx1v6.steer.023
Experiment 24:
alpha = 8; gamma = 0.8; b1 = 1
/glade/u/home/jet/cases/g.e11.GIAF.T62_gx1v6.steer.024
Experiment 25:
alpha = 8; gamma = 0.35; b1 = 1
/glade/u/home/jet/cases/g.e11.GIAF.T62_gx1v6.steer.025
Notes:
In our simulations, we use gamma = 1.75. If we stick with the definition of gamma given in the Appendix of Bates et al. (2014), gamma represents mixing efficiency and cannot exceed 1. However, we can interpret it as const * gamma where we have introduced a scaling constant (const).
There is also some very sensitive relationship between b1 and gamma as shown in the paragraph just below A6b.
POP standard diagnostics for the experiments
Experiment 23:
Experiment 24:
Experiment 25:
Comparison of Relavant fields
The fields which are affected by alpha, b1 and gamma are:
\(u_{rms} = alpha*{\sigma_{vi}}*L_{eddy}\)
\(u_{rms}^2\)
\({(U-c)}^2 \over {u_{rms}^2}\)
\({Suppression \quad factor = {1 \over (1 + b1 * |\bar u - c|^2 /u_{rms (z=0)}^2 )}}\)
\({K}=u_{rms}∗{\Gamma * L_{eddy} \over (1 + b1 * |u_{mean} - c|^2 /u_{rms}^2 (z=0)}\)
\(\color{green}{Comparing \quad RMS \quad eddy \quad velocity}\quad \color{red}{u_{rms}}\)
NOTES:
Alpha was changed to 8.0 for all three sensitivity experiments. It will be compared to the 018 control run and Bate's et al.
\(u_{rms} = alpha*{\sigma_{vi}}*L_{eddy}\)
- alpha (scaling constant) = 8
\(\sigma_{vi} = {f \over \sqrt{R_i}}\quad = \quad {f \over \sqrt{{f^2N^2 \over m^4}}}\quad = \quad {{\cancel f m^2} \over \cancel f N}\)
\(u_{rms}\) is limited to 5 cm/s $ max(u_{rms},5.)$
\(\quad\quad\quad\quad\quad\quad\quad\) Eddy Velocity \((u_{rms})\quad\) CESM
# <!-- collapse=True -->
alpha=8.
alpha18=4.
cm2m=.01
#
urms_avg1 = nc.variables['URMS_AVG1'][0,0,:,:]
urms_avg1_nearest = pyresample.kd_tree.resample_nearest(orig_def, urms_avg1,
targ_def0, radius_of_influence=500000, fill_value=None)
urms_avg1_mps=urms_avg1_nearest*cm2m
clevs=np.linspace(0,.4,40)
fig,ax,cbar=MapContourg(targ_def0,urms_avg1_mps,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Run 023/024/025 $u_{rms} ({m \over s})$ using new sigma (alpha= %.1f,max = %.1f/min = %.2G) "%(alpha,urms_avg1_mps.max(),urms_avg1_mps.min()))
#customize colorbar ticks
yticks=[0,.1,.2,.3,.4]
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,.22])
pylab.xticks([0,.1,.2]);
urms_avg1_18 = nc18.variables['URMS_AVG1'][0,0,:,:]
urms_avg1_18_nearest = pyresample.kd_tree.resample_nearest(orig_def, urms_avg1_18,
targ_def0, radius_of_influence=500000, fill_value=None)
urms_avg1_18_mps=urms_avg1_18_nearest*cm2m
clevs=np.linspace(0,.4,40)
fig,ax,cbar=MapContourg(targ_def0,urms_avg1_18_mps,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Control run 018 $u_{rms}$ (alpha= %.1f,max = %.1f/min = %.2G) "%(alpha18,urms_avg1_18_mps.max(),urms_avg1_18_mps.min()))
#customize colorbar ticks
yticks=[0,.1,.2,.3,.4]
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,.22])
pylab.xticks([0,.1,.2]);
\(\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad u_{rms} \) Bates et al
# <!-- collapse=True -->
bates_urms=Image(filename=basedir+'/steering/bates2013-urms.png')
display(bates_urms)
\(\color{green}{u_{rms}^2 \quad Term} \quad\)
NOTES:
- \(K={u_{rms}}∗{\Gamma * L_{eddy} \over (1 + b1 * |u_{mean} - c|^2 /\color{red}{u_{rms}^2} (z=0)} \)
- \(u_{rms}^2\) is a surface value
#### <!-- collapse=True -->
urms_avg1_sq = nc23.variables['URMS_AVG1_SQ'][0,0,:,:]
urms_avg1_sq_nearest = pyresample.kd_tree.resample_nearest(orig_def, urms_avg1_sq,
targ_def0, radius_of_influence=500000, fill_value=None)
urms_avg1_sq_mps=urms_avg1_sq_nearest*1.e-4
###urms_avg1_sq_mps =urms_avg1_mps*urms_avg1_mps
##clevs=np.linspace(0,.06,40)
clevs=np.linspace(.001,.06,40)
fig,ax,cbar=MapContourg(targ_def0,urms_avg1_sq_mps,
addzonal=True,
levels1=clevs,
setover='darkred',
setunder='darkblue',
figsize=(14,5),
title="Run 023/024/025 $u_{rms}^2$ (alpha = 8, gamma = 0.8, b1 = 4,max = %.2G/min = %.2G) "%(urms_avg1_sq_mps.max(),urms_avg1_sq_mps.min()))
#customize colorbar ticks
yticks=[.001,.02,.04,.06]
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,.06])
pylab.xticks([0,.03,.06]);
urms_avg1_sq_18 = nc18.variables['URMS_AVG1_SQ'][0,0,:,:]
urms_avg1_sq_18_nearest = pyresample.kd_tree.resample_nearest(orig_def, urms_avg1_sq_18,
targ_def0, radius_of_influence=500000, fill_value=None)
urms_avg1_sq_18_mps=urms_avg1_sq_18_nearest*1.e-4
###urms_avg1_sq_mps =urms_avg1_mps*urms_avg1_mps
##clevs=np.linspace(0,.06,40)
clevs=np.linspace(.001,.06,40)
fig,ax,cbar=MapContourg(targ_def0,urms_avg1_sq_18_mps,
addzonal=True,
levels1=clevs,
setover='darkred',
setunder='darkblue',
figsize=(14,5),
title="Control run 018 $u_{rms}^2$ (alpha = 4, gamma = 1.75, b1 = 4,max = %.2G/min = %.2G) "%(urms_avg1_sq_18_mps.max(),urms_avg1_sq_18_mps.min()))
#customize colorbar ticks
yticks=[.001,.02,.04,.06]
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,.06])
pylab.xticks([0,.03,.06]);
\(\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad u_{rms}^2 \) Bates et al
# <!-- collapse=True -->
urms_bates=Image(filename=basedir+'/steering/Bates_urms_sq.jpg')
display(urms_bates)
\(\quad\quad\quad\quad\quad\quad\) \({(U-c)}^2 \over {u_{rms}^2} \quad\) CESM
# <!-- collapse=True -->
umc2ourms2 = nc.variables['UMCSQ_OVR_URMSSQ'][0,0,:,:]
umc2ourms2_nearest = pyresample.kd_tree.resample_nearest(orig_def,umc2ourms2 ,
targ_def0, radius_of_influence=500000, fill_value=None)
clevs=arange(0,5,.1)
fig,ax,cbar=MapContourg(targ_def0,umc2ourms2_nearest,
addzonal=True,
levels1=clevs,
figsize=(14,4),
setover='darkred',
setunder='darkblue',
title="Run 023/024/025 ${(U-c)}^2 \over u_{rms}^2$")
#customize colorbar ticks
yticks=[0,2,4]
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,8])
pylab.xticks([0,4,8]);
umc2ourms2_18 = nc18.variables['UMCSQ_OVR_URMSSQ'][0,0,:,:]
umc2ourms2_18_nearest = pyresample.kd_tree.resample_nearest(orig_def,umc2ourms2_18 ,
targ_def0, radius_of_influence=500000, fill_value=None)
clevs=arange(0,5,.1)
fig,ax,cbar=MapContourg(targ_def0,umc2ourms2_18_nearest,
addzonal=True,
levels1=clevs,
figsize=(14,4),
setover='darkred',
setunder='darkblue',
title="Control run 018 ${(U-c)}^2 \over u_{rms}^2$")
#customize colorbar ticks
yticks=[0,2,4]
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,8])
pylab.xticks([0,4,8]);
\(\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad {|u-c|^2 \over u_{rms}^2} \) Bates et al
# <!-- collapse=True -->
bates_uminusc_sq_ovr_urms_sq =Image(filename=basedir+'/steering/Bates_suppress.jpg')
display(bates_uminusc_sq_ovr_urms_sq )
\(\color{green}{\quad Suppression \quad factor = {1 \over (1 + b1 * |\bar u - c|^2 /u_{rms (z=0)}^2 )}}\)
NOTES:
- \(c = max(- \beta * L_{eddy}^2,-20)\)
- \(u_{rms} = max(u_{rms},5.)\)
- \(u_{rms}^2\) is a surface value
- \(b1\) (scaling constant) = 4. (case23) , 1. (case24), or 1. (case25)
\(\quad\quad\quad\quad\quad\quad\quad\) Suppression Factor CESM
# <!-- collapse=True -->
supp23 = nc23.variables['SUPP'][0,0,:,:]
supp23_nearest = pyresample.kd_tree.resample_nearest(orig_def,supp23 ,
targ_def0, radius_of_influence=500000, fill_value=None)
clevs=np.linspace(0,1,30)
norm=matplotlib.colors.Normalize()
fig,ax,cbar=MapContourg(targ_def0,supp23_nearest,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Run 023 Suppression (limiting $u_{rms}$ to 5cm/s)= ${1 \over (1 + b1 * | u - c|^2 /(u_{rms (z=0)}^2)}$ ")
#customize colorbar ticks
yticks=np.linspace(0, 1, 6)
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,.8])
pylab.xticks([0,.25,.5,.75]);
supp24 = nc24.variables['SUPP'][0,0,:,:]
supp24_nearest = pyresample.kd_tree.resample_nearest(orig_def,supp24 ,
targ_def0, radius_of_influence=500000, fill_value=None)
clevs=np.linspace(0,1,30)
norm=matplotlib.colors.Normalize()
fig,ax,cbar=MapContourg(targ_def0,supp24_nearest,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Run 024 Suppression (limiting $u_{rms}$ to 5cm/s)= ${1 \over (1 + b1 * | u - c|^2 /(u_{rms (z=0)}^2)}$ ")
#customize colorbar ticks
yticks=np.linspace(0, 1, 6)
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,.8])
pylab.xticks([0,.25,.5,.75]);
supp25 = nc25.variables['SUPP'][0,0,:,:]
supp25_nearest = pyresample.kd_tree.resample_nearest(orig_def,supp25 ,
targ_def0, radius_of_influence=500000, fill_value=None)
clevs=np.linspace(0,1,30)
norm=matplotlib.colors.Normalize()
fig,ax,cbar=MapContourg(targ_def0,supp25_nearest,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Run 025 Suppression (limiting $u_{rms}$ to 5cm/s)= ${1 \over (1 + b1 * | u - c|^2 /(u_{rms (z=0)}^2)}$ ")
#customize colorbar ticks
yticks=np.linspace(0, 1, 6)
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,.8])
pylab.xticks([0,.25,.5,.75]);
supp18 = nc18.variables['SUPP'][0,0,:,:]
supp18_nearest = pyresample.kd_tree.resample_nearest(orig_def,supp18 ,
targ_def0, radius_of_influence=500000, fill_value=None)
clevs=np.linspace(0,1,30)
norm=matplotlib.colors.Normalize()
fig,ax,cbar=MapContourg(targ_def0,supp18_nearest,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Control Run 018 Suppression (limiting $u_{rms}$ to 5cm/s)= ${1 \over (1 + b1 * | u - c|^2 /(u_{rms (z=0)}^2)}$ ")
#customize colorbar ticks
yticks=np.linspace(0, 1, 6)
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,.8])
pylab.xticks([0,.25,.5,.75]);
\(\quad\quad\quad\quad\quad\quad\quad\) Suppression Factor Bates
# <!-- collapse=True -->
bates_suppression =Image(filename=basedir+'/steering/bates2013_suppression.png')
display(bates_suppression )
\(\quad\quad\quad\quad\quad\quad\quad\) Suppression Factor (Zonal x depth) CESM
clevs=np.linspace(0,1,11)
z_t= ncregrid23.variables['z_t'][:]
latregrid=ncregrid23.variables['lat'][:]
lonregrid=ncregrid23.variables['lon'][:]
lon=lonregrid
suppregrid23= ncregrid23.variables['SUPP'][0,:,:,:]
suppregridz23=suppregrid23.mean(axis=2)
clevs=np.linspace(0,1,100,endpoint=True)
yticks=[0,.2,.4,.6,.8,1.]
fig,ax,cbar=plotzonalocn(latregrid, z_t, suppregridz23,
levels1=clevs,
levels2=clevs,
# equalcontourscale=True,
figsize=(10.5,6),
title="Run 023 Suppression factor (custom contours max = %.1f/min = %.1f) "%(suppregridz23.max(),suppregridz23.min()))
# Add axis labels and plot title
plt.xlabel('Latitude')
plt.ylabel('Depth (cm)')
# Customize y tick lables
cbar.set_ticks(yticks)
cbar.set_ticklabels(yticks)
cbar.set_label('fraction')
suppregrid24= ncregrid24.variables['SUPP'][0,:,:,:]
suppregridz24=suppregrid24.mean(axis=2)
clevs=np.linspace(0,1,100,endpoint=True)
yticks=[0,.2,.4,.6,.8,1.]
fig,ax,cbar=plotzonalocn(latregrid, z_t, suppregridz24,
levels1=clevs,
levels2=clevs,
# equalcontourscale=True,
figsize=(10.5,6),
title="Run 024 Suppression factor (custom contours max = %.1f/min = %.1f) "%(suppregridz24.max(),suppregridz24.min()))
# Add axis labels and plot title
plt.xlabel('Latitude')
plt.ylabel('Depth (cm)')
# Customize y tick lables
cbar.set_ticks(yticks)
cbar.set_ticklabels(yticks)
cbar.set_label('fraction')
suppregrid25= ncregrid25.variables['SUPP'][0,:,:,:]
suppregridz25=suppregrid25.mean(axis=2)
clevs=np.linspace(0,1,100,endpoint=True)
yticks=[0,.2,.4,.6,.8,1.]
fig,ax,cbar=plotzonalocn(latregrid, z_t, suppregridz25,
levels1=clevs,
levels2=clevs,
# equalcontourscale=True,
figsize=(10.5,6),
title="Run 025 Suppression factor (custom contours max = %.1f/min = %.1f) "%(suppregridz25.max(),suppregridz25.min()))
# Add axis labels and plot title
plt.xlabel('Latitude')
plt.ylabel('Depth (cm)')
# Customize y tick lables
cbar.set_ticks(yticks)
cbar.set_ticklabels(yticks)
cbar.set_label('fraction')
suppregrid18= ncregrid18.variables['SUPP'][0,:,:,:]
suppregridz18=suppregrid18.mean(axis=2)
clevs=np.linspace(0,1,100,endpoint=True)
yticks=[0,.2,.4,.6,.8,1.]
fig,ax,cbar=plotzonalocn(latregrid, z_t, suppregridz18,
levels1=clevs,
levels2=clevs,
# equalcontourscale=True,
figsize=(10.5,6),
title="Control Run 018 Suppression factor (custom contours max = %.1f/min = %.1f) "%(suppregridz18.max(),suppregridz18.min()))
# Add axis labels and plot title
plt.xlabel('Latitude')
plt.ylabel('Depth (cm)')
# Customize y tick lables
cbar.set_ticks(yticks)
cbar.set_ticklabels(yticks)
cbar.set_label('fraction')
\(\quad\quad\quad\quad\quad\quad\quad\) Suppression Factor (Zonal x depth) Bates
# <!-- collapse=True -->
urms_bates7=Image(filename=basedir+'/steering/Bates-Tulloch-etal-2014-007.jpg')
display(urms_bates7 )
\(\color{green}{\quad Parameterizing \quad Eddy \quad Diffusivity \quad} (\color{red}{K})\)
NOTES:
- \(\color{red}{K}=u_{rms}∗{\Gamma * L_{eddy} \over (1 + b1 * |u_{mean} - c|^2 /u_{rms}^2 (z=0)}\)
\(\quad\quad\quad\quad\quad\quad\quad\) Eddy Diffusivity (K) CESM
# <!-- collapse=True -->
###gamma=.35
###############GAMMA bumped up for tuning #########################
###gamma=1.75
###b1=4.
###regrid2rect(basedir+'/steering/g.e11.GIAF.T62_gx1v6.steer.017.pop.h.nday1.0249.nc',basedir+'/steering/g.e11.GIAF.T62_gx1v6.steer.017.regrid.nc',clobber=True)
###ncregrid = Dataset(basedir+'/steering/g.e11.GIAF.T62_gx1v6.steer.017.regrid.nc')
kvertsrf23= ncregrid23.variables['KVERT'][0,0,:,:]*1.e-4
clevs=np.linspace(0,1.e4,40)
fig,ax,cbar=MapContourg(targ_def0,kvertsrf23,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Run 023 Eddy diffusivity $K$ (max = %.1f/min = %.1f) "%(kvertsrf23.max(),kvertsrf23.min()))
#customize colorbar ticks
#cbar.set_ticks([1,3,1e1,3e1,1e2,3e2,1e3,3e3,1e4,])
yticks=np.linspace(0, 10000,6)
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,11e3])
pylab.xticks([0,5e3,10e3]);
kvertsrf24= ncregrid24.variables['KVERT'][0,0,:,:]*1.e-4
clevs=np.linspace(0,1.e4,40)
fig,ax,cbar=MapContourg(targ_def0,kvertsrf24,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Run 024 Eddy diffusivity $K$ (max = %.1f/min = %.1f) "%(kvertsrf24.max(),kvertsrf24.min()))
#customize colorbar ticks
#cbar.set_ticks([1,3,1e1,3e1,1e2,3e2,1e3,3e3,1e4,])
yticks=np.linspace(0, 10000,6)
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,11e3])
pylab.xticks([0,5e3,10e3]);
kvertsrf25= ncregrid25.variables['KVERT'][0,0,:,:]*1.e-4
clevs=np.linspace(0,1.e4,40)
fig,ax,cbar=MapContourg(targ_def0,kvertsrf25,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Run 025 Eddy diffusivity $K$ (max = %.1f/min = %.1f) "%(kvertsrf25.max(),kvertsrf25.min()))
#customize colorbar ticks
#cbar.set_ticks([1,3,1e1,3e1,1e2,3e2,1e3,3e3,1e4,])
yticks=np.linspace(0, 10000,6)
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,11e3])
pylab.xticks([0,5e3,10e3]);
kvertsrf18= ncregrid18.variables['KVERT'][0,0,:,:]*1.e-4
clevs=np.linspace(0,1.e4,40)
fig,ax,cbar=MapContourg(targ_def0,kvertsrf18,
addzonal=True,
levels1=clevs,
figsize=(14,5),
title="Control Run 018 Eddy diffusivity $K$ (max = %.1f/min = %.1f) "%(kvertsrf18.max(),kvertsrf18.min()))
#customize colorbar ticks
#cbar.set_ticks([1,3,1e1,3e1,1e2,3e2,1e3,3e3,1e4,])
yticks=np.linspace(0, 10000,6)
cbar.set_ticks(yticks)
#customize zonal ticks
pylab.xlim([0,11e3])
pylab.xticks([0,5e3,10e3]);
\(\quad\quad\quad\quad\quad\quad\quad\) Eddy Diffusivity (K) Bates
# <!-- collapse=True -->
bates_k =Image(filename=basedir+'/steering/bates2013_K.png')
display(bates_k )
\(\quad\quad\quad\quad\quad\quad\quad\) (Zonal x Depth) CESM
\(\quad\quad\quad\quad\quad\quad\quad\quad\quad\) K limited to (100 < K < 10000)
# <!-- collapse=True -->
###ncregrid = Dataset(basedir+'/steering/g.e11.GIAF.T62_gx1v6.steer.017.regrid.nc')
z_t= ncregrid23.variables['z_t'][:]
latregrid=ncregrid23.variables['lat'][:]
lonregrid=ncregrid23.variables['lon'][:]
lon=lonregrid
kvert23= ncregrid23.variables['KVERT'][0,:,:,:]
kvertz23=kvert23.mean(axis=2)/1.e4
clevs=np.linspace(0,2500,100,endpoint=True)
yticks=[0,500,1000,1500,2000,2500]
fig,ax,cbar=plotzonalocn(latregrid, z_t, kvertz23,
levels1=clevs,
levels2=clevs,
# equalcontourscale=True,
figsize=(10.5,6),
title="Run 023 Eddy diffusivity $K$ (Linear Scale max = %.1f/min = %.1f) "%(kvertz23.max(),kvertz23.min()))
# Add axis labels and plot title
levs=[500,1000,1500]
cs=ax.contour(latregrid, z_t, kvertz23,levels=levs,colors='w',linewidths=2)
plt.xlabel('Latitude')
plt.ylabel('Depth (cm)')
plt.clabel(cs, inline=1, fontsize=15)
# Customize y tick lables
cbar.set_ticks(yticks)
cbar.set_ticklabels(yticks)
cbar.set_label('m**2/s')
kvert24= ncregrid24.variables['KVERT'][0,:,:,:]
kvertz24=kvert24.mean(axis=2)/1.e4
clevs=np.linspace(0,2500,100,endpoint=True)
yticks=[0,500,1000,1500,2000,2500]
fig,ax,cbar=plotzonalocn(latregrid, z_t, kvertz24,
levels1=clevs,
levels2=clevs,
# equalcontourscale=True,
figsize=(10.5,6),
title="Run 024 Eddy diffusivity $K$ (Linear Scale max = %.1f/min = %.1f) "%(kvertz24.max(),kvertz24.min()))
# Add axis labels and plot title
levs=[500,1000,1500]
cs=ax.contour(latregrid, z_t, kvertz24,levels=levs,colors='w',linewidths=2)
plt.xlabel('Latitude')
plt.ylabel('Depth (cm)')
plt.clabel(cs, inline=1, fontsize=15)
# Customize y tick lables
cbar.set_ticks(yticks)
cbar.set_ticklabels(yticks)
cbar.set_label('m**2/s')
kvert25= ncregrid25.variables['KVERT'][0,:,:,:]
kvertz25=kvert25.mean(axis=2)/1.e4
clevs=np.linspace(0,2500,100,endpoint=True)
yticks=[0,500,1000,1500,2000,2500]
fig,ax,cbar=plotzonalocn(latregrid, z_t, kvertz25,
levels1=clevs,
levels2=clevs,
# equalcontourscale=True,
figsize=(10.5,6),
title="Run 025 Eddy diffusivity $K$ (Linear Scale max = %.1f/min = %.1f) "%(kvertz25.max(),kvertz25.min()))
# Add axis labels and plot title
levs=[500,1000,1500]
cs=ax.contour(latregrid, z_t, kvertz25,levels=levs,colors='w',linewidths=2)
plt.xlabel('Latitude')
plt.ylabel('Depth (cm)')
plt.clabel(cs, inline=1, fontsize=15)
# Customize y tick lables
cbar.set_ticks(yticks)
cbar.set_ticklabels(yticks)
cbar.set_label('m**2/s')
kvert18= ncregrid18.variables['KVERT'][0,:,:,:]
kvertz18=kvert18.mean(axis=2)/1.e4
clevs=np.linspace(0,2500,100,endpoint=True)
yticks=[0,500,1000,1500,2000,2500]
fig,ax,cbar=plotzonalocn(latregrid, z_t, kvertz18,
levels1=clevs,
levels2=clevs,
# equalcontourscale=True,
figsize=(10.5,6),
title="Control Run 018 Eddy diffusivity $K$ (Linear Scale max = %.1f/min = %.1f) "%(kvertz18.max(),kvertz18.min()))
# Add axis labels and plot title
levs=[500,1000,1500]
cs=ax.contour(latregrid, z_t, kvertz18,levels=levs,colors='w',linewidths=2)
plt.xlabel('Latitude')
plt.ylabel('Depth (cm)')
plt.clabel(cs, inline=1, fontsize=15)
# Customize y tick lables
cbar.set_ticks(yticks)
cbar.set_ticklabels(yticks)
cbar.set_label('m**2/s')
Here is the Bate's version
urms_bates8=Image(filename=basedir+'/steering/Bates-Tulloch-etal-2014-008.jpg')
display(urms_bates8)